Перейти к основному содержимому

Консольный вывод. Функция printf

Основы функции printf()

Функция printf() — главный инструмент для вывода информации на экран в языке Си.

printf(строка_формата, значения);

Простой текстовый вывод

#include <stdio.h>

int main() {
printf("Добро пожаловать в программирование!");
return 0;
}

Управляющие последовательности

Специальные символы для форматирования текста:

printf("Первая строка\nВторая строка\n");
printf("Имя:\tВозраст\n");
printf("Иван\t25\n");

Результат:

Первая строка
Вторая строка
Имя: Возраст
Иван 25
ПоследовательностьОписание
\nПереход на новую строку
\tТабуляция (отступ)
\"Двойная кавычка
\'Одинарная кавычка
\\Обратный слеш
\rВозврат каретки в начало строки

Спецификаторы формата

Позволяют выводить значения переменных в тексте:

Базовые спецификаторы

СпецификаторТип данныхПример использования
%dintprintf("%d", 42);
%ffloat/doubleprintf("%.2f", 3.14);
%ccharprintf("%c", 'A');
%sстрокаprintf("%s", "Текст");
%uunsigned intprintf("%u", 100u);

Практический пример

#include <stdio.h>

int main() {
int age = 30;
float height = 175.8;
char grade = 'A';

printf("Возраст: %d лет\n", age);
printf("Рост: %.1f см\n", height);
printf("Оценка: %c\n", grade);

return 0;
}

Точность и ширина поля

Контроль дробной части

float pi = 3.141592653;

printf("%.1f\n", pi); // 3.1
printf("%.3f\n", pi); // 3.142
printf("%.6f\n", pi); // 3.141593

Дополнительные спецификаторы

СпецификаторНазначениеПример
%eЭкспоненциальная запись1.234000e+02
%xШестнадцатеричное числоff
%oВосьмеричное число377
%%Символ процента%
int num = 255;
printf("Десятичное: %d\n", num); // 255
printf("Шестнадцатеричное: %x\n", num); // ff
printf("Восьмеричное: %o\n", num); // 377
printf("Проценты: 100%%\n"); // 100%

Флаги форматирования

Основные флаги

printf("|%10s|\n", "Текст");   // |     Текст| (справа)
printf("|%-10s|\n", "Текст"); // |Текст | (слева)

Вывод нескольких значений

#include <stdio.h>

int main() {
char name[] = "Анна";
int age = 28;
float salary = 85000.50;

printf("Сотрудник: %s, возраст: %d лет, зарплата: %.2f руб.\n",
name, age, salary);

// Форматированный вывод таблицы
printf("%-10s %5s %10s\n", "Имя", "Возраст", "Зарплата");
printf("%-10s %5d %10.2f\n", name, age, salary);

return 0;
}

Результат:

Сотрудник: Анна, возраст: 28 лет, зарплата: 85000.50 руб.
Имя Возраст Зарплата
Анна 28 85000.50
Полезные советы
  • Количество спецификаторов должно соответствовать количеству аргументов
  • Тип спецификатора должен совпадать с типом передаваемой переменной
  • Используйте %.nf для контроля количества знаков после запятой

Функция printf() — мощный инструмент для создания красиво отформатированного вывода в программах на языке Си.